Section: New Software and Platforms
Coq-elpi
Keywords: Metaprogramming - Extension
Scientific Description: Coq-elpi provides a Coq plugin that embeds ELPI. It also provides a way to embed Coq's terms into lambdaProlog using the Higher-Order Abstract Syntax approach (HOAS) and a way to read terms back. In addition to that it exports to ELPI a set of Coq's primitives, e.g. printing a message, accessing the environment of theorems and data types, defining a new constant and so on. For convenience it also provides a quotation and anti-quotation for Coq's syntax in lambdaProlog. E.g. {{nat}} is expanded to the type name of natural numbers, or {{A -> B}} to the representation of a product by unfolding the -> notation. Finally it provides a way to define new vernacular commands and new tactics.
Functional Description: Coq plugin embedding ELPI
Release Functional Description: Minor relase for extra API for global reference data types
News Of The Year: Releases 1.0, 1.1, and 1.2 were made in 2019, they constitute the first public release with tutorials and examples.
Work done in 2019 is mostly in these areas:
- expose a complete set of API to script Coq's vernacular language
- take advantage or recent ELPI API and FFI to convert back and forth terms containing existential variables (Evars)